You have to download manually the EEG data from https://physionet.org/pn4/eegmmidb/.
In [1]:
import numpy as np
import pyedflib
import os
In [2]:
eyes_open = np.zeros((109, 64, 9600))
eyes_closed = np.zeros((109, 64, 9600))
Define the directory where dataset is located
In [3]:
edf_dir = '/opt/Temp/physionet.nlm.nih.gov/pn4/eegmmidb/'
In [4]:
for sub_id in range(0, 109):
subj_prefix = "S{0:03}".format(sub_id + 1)
subj_dir = "{0}/{1}".format(edf_dir, subj_prefix)
baseline_eyes_open = "{0}/{1}R01".format(subj_dir, subj_prefix)
f = pyedflib.EdfReader(baseline_eyes_open + ".edf")
a = f.read_annotation()
n = f.signals_in_file
signal_labels = f.getSignalLabels()
for chan in np.arange(n):
eyes_open[sub_id, chan, :] = f.readSignal(chan)[0:9600]
In [5]:
for sub_id in range(0, 109):
subj_prefix = "S{0:03}".format(sub_id + 1)
subj_dir = "{0}/{1}".format(edf_dir, subj_prefix)
baseline_eyes_closed = "{0}/{1}R02".format(subj_dir, subj_prefix)
f = pyedflib.EdfReader(baseline_eyes_closed + ".edf")
a = f.read_annotation() #baseline_eyes_open + ".edf.event")
n = f.signals_in_file
signal_labels = f.getSignalLabels()
for chan in np.arange(n):
eyes_closed[sub_id, chan, :] = f.readSignal(chan)[0:9600]
In [6]:
if not os.path.exists("data/"):
os.makedirs("data/")
np.save('data/eyes_opened.npy', eyes_open)
np.save('data/eyes_closed.npy', eyes_closed)